// pages/home/home.js
import {getMultiData, getProduct} from '../../service/home.js'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    banners: [],
    recommends: [],
    titles: ['流行', '新款', '精选'],
    goods: {
      pop: {page: 1, list: []},
      new: {page: 1, list: []},
      sell: {page: 1, list: []}
    },
    currentType: 'pop'
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 请求首页轮播图数据以及推荐数据
    this._getMultiData()
    this._getProduct('pop')
    this._getProduct('new')
    this._getProduct('sell')
  },

  // 请求首页轮播图数据
  _getMultiData: function() {
    getMultiData().then(res => {
      const banners = res.data.data.banner.list
      const recommends = res.data.data.recommend.list

      // 将数据存储到data中
      this.setData({
        banners,
        recommends
      })
    })
  },

  // 请求首页商品数据
  _getProduct(type) {
    // 获取数据对应的页码
    const page = this.data.goods[type].page
    getProduct(type, page).then(res => {
      // 先用list存储数据
      const list =res.data.data.list

      // 用goods存储新数据
      const goods = this.data.goods
      goods[type].list.push(...list)
      goods[type].page += 1

      // 将新数据goods设置到goods中
      this.setData({
        goods
      })
    })
    
  },

  // 导航栏点击
  tabClick(event) {
    console.log(event)
    let currentType = ''
    switch(event.detail.index) {
      case 0:
        currentType = 'pop'
        break
      case 1:
        currentType = 'new'
        break
      case 2:
        currentType = 'sell'
    }
    this.setData({
      currentType: currentType
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})